﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BitLaboratory.DbAccess
{
    public interface IDatabaseProvider
    {
        IDbCommand CreateDbCommand();
        IDbDataAdapter CreateDbDataAdapter();
        IDbConnection CreateDbConnection();
        IDbDataParameter CreateDbParameter();
        IDbDataParameter CreateDbParameter(string parameterName, object parameterValue, ParameterDirection parameterDirection = ParameterDirection.Input);
        IDbDataParameter CreateDbParameter<TValueType>(string parameterName, TValueType parameterValue, ParameterDirection parameterDirection = ParameterDirection.Input);
        IDbDataAdapter CreateDbDataAdapter(IDbCommand selectCommand);
        string ConnectionString { get; }
    }
}
